import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
    plugins: [vue()],
    server: {
        // 开发环境端口（可选，默认 5173，可改为 80 模拟正式环境端口）
        port: 5173,
        // 允许通过 localhost 或 IP 访问（避免跨域问题）
        host: '0.0.0.0',
        proxy: {
            // 匹配所有 /api 开头的请求（与 Nginx 的 location /api 对应）
            '/api': {
                target: 'http://localhost:9527', // 后端地址（对应 Nginx 的 proxy_pass）
                changeOrigin: true, // 模拟正式环境的 Host 头（关键：避免后端因域名不同拒绝请求）
                secure: false, // 开发环境后端通常是 http，设为 false
                // 关键：不修改路径（保留 /api 前缀，与 Nginx 一致）
                rewrite: (path) => path, // 原样转发，不做截取
                // 传递与 Nginx 相同的请求头（确保后端获取的信息一致）
                configure: (proxy, options) => {
                    proxy.on('proxyReq', (proxyReq, req, res) => {
                        // 模拟正式环境的 Host（与 Nginx 中 $host 一致，即你的域名或 localhost）
                        proxyReq.setHeader('Host', 'localhost');
                        proxyReq.setHeader('X-Real-IP', '127.0.0.1');
                        proxyReq.setHeader('X-Forwarded-For', '127.0.0.1');
                        proxyReq.setHeader('X-Forwarded-Proto', 'https'); // 模拟正式环境的 HTTPS
                    });
                }
            }
        }
    },
    // 静态资源基础路径（与 Nginx 的 root 对应，Nginx 指向 dist，这里保持默认 '/' 即可）
    base: '/'
});